package com.zg.scf.domain.req.company;

import com.zg.common.core.req.EditReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * DESCRIPTION
 *
 * @author zhanfeng.liang
 * @since 2025-07-23
 */
@Data
@ApiModel(value = "公司人员EditReq", description = "公司人员信息")
public class PersonEditReq extends EditReq {
    @ApiModelProperty(value = "唯一标识ID", example = "1")
    @NotNull(message = "唯一标识ID不能为空")
    private Long id;

    @ApiModelProperty(value = "姓名", example = "张三", required = true)
    @NotBlank(message = "姓名不能为空")
    private String personName;

    @ApiModelProperty(value = "身份证号", example = "110101199001011234", required = true)
    @NotBlank(message = "身份证号不能为空")
    private String idNo;

    @ApiModelProperty(value = "联系电话", example = "13800138000", required = true)
    @NotBlank(message = "联系电话不能为空")
    private String phone;

    @ApiModelProperty(value = "身份证正面图片URL", example = "http://example.com/id_front.jpg")
    @NotBlank(message = "身份证正面图片URL不能为空")
    private String idFront;

    @ApiModelProperty(value = "身份证背面图片URL", example = "http://example.com/id_back.jpg")
    @NotBlank(message = "身份证背面图片URL不能为空")
    private String idBack;

    @ApiModelProperty(value = "人员类型（AGENT: 代理人, CONTACT: 联系人）", example = "AGENT", required = true)
    @NotBlank(message = "人员类型不能为空")
    private String personType;

    @ApiModelProperty(value = "授权委托书图片URL", example = "http://example.com/attorney.jpg")
    @NotBlank(message = "授权委托书图片URL不能为空")
    private String attorney;

    @ApiModelProperty(value = "是否本人（Y: 是, N: 否）", example = "Y")
    @NotBlank(message = "是否本人不能为空")
    private String isOwn;

    @ApiModelProperty(value = "关联的公司ID", example = "1001")
    @NotBlank(message = "关联的公司ID不能为空")
    private Long companyId;
}
